Andy's Opinion: PC's ==================== Have you overheard this conversation before: PC owner: "Your Amiga is shite!" Miggy owner: "Yeah, well your PC can't even multitask!" PC owner: "Oh yeah? Never heard of Windows '95?!" Miggy owner: "Ha! That crap! It needs 8 megs just to get out of bed!" Mac owner: "..my quadra can mutlitask..." PC & Miggy owners : "SHUTUP!" Hmm, lots of fun I'm sure. This sort of rubbish doesn't get anyone anywhere though. The problem is that computer users are usually isolated: PC users think of Amigas as games machines, Amiga users take one look at DOS or Windows and laugh and Mac users, well I doubt they've got a Mac to play games! I have over the years, being a complete techno-addict, attempted to use any computer I've come across. Although old '80s computers were fun in there day I don't thing you need any more nostalgia inducing articles! Anyway of more interest is my experience programming Macs at university, Windows programming and my current quest to figure out Intuition on the Amiga. More and more people are using computers and the problem is that they most only see the exterior, i.e. type things in, run a few applications, games, etc. The interior workings and the history of the computer they use is hidden to them. These points may not seem important as obviously, when you get right down to it, it's the software that matters. However, the software, current hardware and the whole "feel" about a specific computer is dictated by how the hardware has developed over the years. Okay, down to the fundamentals. This article will only refer to Macs, PCs and Amigas, as I feel these are the only current computers the Joe Public may come in contact with. I don't really see any chance of Atari ST owners reading this so lets slag 'em off now: no way can anyone convince me the ST is a "current" machine. Even the Amiga is technically obsolete until ESCOM start selling them! Everything in a machine is important (32 megs of RAM won't do you any good on a 386SX running in EGA) so here is the nitty-gritty: PCs --- IBM PC Compatibles were first developed by IBM in the late '70s based on the 16-bit 8086 CPU from Intel. Note that the 8086 works 16-bit internally and externally meaning it mainly deals directly with 16-bit numbers (this will be more relevant when you read about the 68000). At the time home computers were dinosaurs and the PC was quite revolutionary. Most hardware functions were carried out by cards plugged into the machine meaning easy upgradability. Also IBM had an open policy about the design meaning anyone could manufacture a PC or a hardware add-on based on IBM's machine. This, coupled with the need for computers in America to do tax-returns (no P.A.Y.E.!) meant the PC as a small home/business computer became very popular. Wow, great start, eh? The first IBM machines came with 16k-64k of RAM (that's right: kilobytes!). Unfortunately, the original designers of the BIOS, the start-up program in ROM, thought that no-one would need to access more than 1 megabyte even though the 8086 could easily handle more (remember: 1MB = 16 x 64k, this sounded like a lot in the '70s!). As the machine became more popular in the early '80s more and more applications reached the so-called 640k barrier (the other 384k was allocated to the ROMS, input/output and extra hardware). Also the 8086, due to internal design, only liked to handle memory in 64k chunks. Programmers would have to carefully write their applications to be divided into 64k code and data modules as addressing outside a specific chunk meant a different and slower set of machine code instructions. In the mid '80s the 286 machines arrived, hoping to solve all these problems. Based on the 80286, these machines could access more memory, had faster processor speeds and had upgraded card slots to plug in extra hardware. Unfortunately this machine had to be compatible with the old 8086 machines and programmers rarely bothered to write 286 specific programmes. (Note that Windows 2 wasn't as big as it's older brother at this time.) No-one managed to get support for an upgraded BIOS and Microsoft, who wrote MS-DOS didn't bother with directly supporting more memory as there were still plenty of old 8086 computer users who wouldn't be able to use such improved features. The PCs of these times were fairly average business computers. The best you would find might have EGA colour display (hires, 64 colour palette), 640k of memory and a 40MB hard drive. Note that even as the Atari ST and the Commodore Amiga were appearing, PC users had already given up on floppy disks for serious work even though hard drives were fairly expensive. Few software companies bothered about extra memory, only real heavy- weights like Lotus developed it for their programmes. Lotus 1-2-3, still hot today, was THE top program at the time - remember the Americans and their tax returns. After the 286 came a turning point. IBM and Microsoft were developing ideas to solve the now serious limitations when they had a tiff and broke up their partnership (can't remember the reasons now. Two solutions appeared as the latest CPU arrived: the 80386. Now, the 80386 was/is (some people still use then ;-) a proper 32-bit CPU, a leap in power over the 8086 and 80286. It still had a fall-back mode to run the old software but it could do simple multitasking by emulating multiple 8086s. This had to be exploited. IBM's solution was radical. It redesign the PC and gave it a proper 32-bit operating system: PS/2 and OS/2 were born... and died not long after. Unfortunately, due to IBM's open policy on design - a good idea to boost the machine when it first came out - meant that everyone and his uncle were making PCs! Thinking that they'd loose out if anyone could make a PS/2 machine, IBM had no open policy this time so other PC makers just incorporated the new 80386 technology into the old design specification. Now IBM were selling a new, highly expensive machine that ran a new operating system. OS/2 programmes didn't run on standard machines so little PS/2 specific software appeared. Obviously the idea was doomed. Joe Public went and bought cheaper PCs running the other new operating system appearing: Windows 3. IBM lost a lot of money with this failure and their mainframe business was also losing money as offices bought loads of cheap PCs instead of one mainframe computer! IBM had sown the seeds of their own destruction! (Har, har ) Microsoft's Windows 3.0 would run on the cheap PCs and gradually, ever so slowly, Windows programmes took over from DOS. Microsoft's advantage at the time was not having to make, design and support hardware, like IBM. It just had to look at what people had and write programmes for Windows even if no-one else wanted to. Word, Works, C and BASIC all had DOS versions (can't see anyone using them now :-) so Microsoft had plenty to base their Windows specific programmes on. The VGA graphics standard came out in the late '80s and partly started the rise in decent PC games (hey, 640 x 480, 256 colours is fine). Sound and joystick cards came out and with very large hard drives as standard, PC games were the first epics. Classics such as Wing Commander and Ultima set the trend for eating up disk space and memory. So, finally we have the current machines: 486s and Pentiums with diverse forms of graphics cards based loosely on the original VGA standard and CD drives are very common. £800 gets a decent machine these days: good machine for games, excellent for business. What's the down side? Well, no one has complete control over the PC market. This is good for prices - lots of competition - but bad for overall development. Consider the standard ports, the serial and parallel ports haven't changed since the '70s!!! The mouse and keyboard connectors are ideas nicked from the defunct PS/2. The IBM PC standard has suppressed (yes! I said suppressed all you paranoid X-files fans ;-) intelligent hardware design unless it was absolutely necessary. Imagine a PC that could fine tune the monitor from Windows as standard, you could pay thousands for this at the moment. Consider a printer that could specifically tell Word that it couldn't print because it was off-line or out of paper - not some duff Retry/Cancel requester saying bugger all. These features are available (see the Mac section) but no-one will put in the effort (money) as profit margins are so tight in the PC industry. Big players such as Microsoft and Intel, can only influence PCs. Hopefully Windows'95 and "plug and play" with start a trend to better design. Hey, PC owners! Do you still get games asking what sort of sound card you've got? They should be able to find out! Another consequence of lack of control is limitations. PCs are only limited by time. Every year, or month, faster PCs appear, better graphics cards, larger hard drives etc. With little to stop them, programmers can write applications that demand 8MB memory & 100MB disk space rather than write efficient code for a 2MB, 80386 machine. Microsoft is partly to blame for this as Windows is terribly inefficient in its internal operations leading naturally to inefficient applications - it all seems to have got worse with Windows'95 as that must have 8MB memory to run. Ha! If Microsoft want to do me for libel let them consider the "inferior" Workbench of the Amiga and can they make a program with a few buttons to do a few simple disk functions in less than 10k? In fact, can you write ANY Windows programmes in less than 10k?! Um, sorry if that seems like a bit of bias creeping in but I spent eight months doing Windows programming. Visual C/C++ then was on 20 odd high density disks and we needed a new set of shelves for all the manuals. If you ever try programming for Windows you WILL believe Microsoft have an executive lift down to Hell! (That's where they get their design ideas ;-) (Hehe, note to PC peeps: I haven't even brought up the Windows 16-bit / 32-bit cockups by Microsoft, words like "thunking" will really confuse people :-/ So, my final opinion of the PC is of a high spec machine with little direction as far as hardware development, with software indirectly controlled by Microsoft who's programmes are great on the surface but big, clumsy and inefficient inside. Wow, bit like a description of most Western countries :-D Quick PC Glossary & Notes ========================= 8088 - spotty younger brother of the 8086: 8-bit external, 16-bit internal IBM PC - the original 16k 8086 machine IBM XT - more common 8088 that most people see as the first PC IBM AT - 80286 machine IBM PS/2 - the wunderkinder ( NOT!) IBM PS/1 - name for original design PCs (not PS/2) OS/2 Warp - salvage attempt by IBM of the original OS/2, this runs on (supposedly) any PC, multitasks and will beat Windows'95... some hope! Windows 3.0 - the original Windows 3.1 - bug fixed version ;-) Windows for Workgroups - Windows 3.11, proper network support Windows NT - shit hot (but highly expensive) multitasking operating system mainly for heavy duty file servers (even supported multiple CPUs!) WIN16 - programming term used for standard (16-bit) Windows applications WIN32 - Windows NT (32-bit) applications WIN32s - WIN32 subset: weird Microsoft system whereby you could write 32-bit programmes for Windows 3.1 but they weren't fully compatible with Windows NT (Bill Gates, don't you just luv 'im :-D Thunking - you really want to know? Okay you maniacs! This is a method of getting 32-bit systems to "think-down" to the level of 16-bit systems. Um, can't explain it any better without another 10 pages! Motorola ======== This is a separate section for the 68000 CPU as it is common to the Amiga and Mac (even the Atari ST). The advantages of this CPU are common to all machines. In the late '70s Intel, Motorola and Zilog (the Z80, remember?) were all rushing to make a 16-bit CPU. Zilog got nowhere with their Z8000 as they didn't manage to sell it to any really big names. Intel rushed out their 8086 and it got snapped up by IBM. Motorola waited a while... At the time, these companies knew that the best technology available could only manage to make a 16-bit CPU cost effectively. As mentioned in PC section, the 8086 was 16-bit internally and externally. The later 68000 from Motorola was still 16-bit externally but inside it worked at 32-bits. Programmers could write routines to add bigger numbers in less code - not a really big advantage. However, when the 68020 came out it was fully 32-bit and yet could still run 68000 programmes perfectly. No fallback mode as for the 8086. Also the 68000 series of CPU never had the same serious problem of working with 64k chunks as the 8086. (Code is still quicker using small relative jumps on the 68000 but these jumps can cross the "boundary" that exists between 64k chunks on the 8086.) The average user couldn't care less about bits and chunks but to a programmer it means the 68000 is easier to program and although you can write 68020 specific code, the differences aren't as radical as those of the 8086 and the 80386. All this affects efficiency of an application and maybe the sort of people who program the machines. Apple Macs ========== Alot more happened in the '70s than the average user would credit. Xerox (yes, the photocopier people :-) were working on a standard visual style for hires displays called X-Windows. You may have occasionally heard of this, X-Windows is basically a definition of the features and appearance of any visual operating system employed on a computer. Microsoft mentioned X-Windows in connection with Windows but really the standard is only mentioned in relation with Unix machines like Sun Workstations (University students can check this out :-). Apple, who like Commodore had made a success with 8-bit home computers, based their Apple Macintosh series on the X-Windows standard. Unlike the development of the PC, Apple held on very tightly to their designs and took lots of people to court over "look & feel" over the past decade. The Mac is centred around the operating system, called System! :-D Although the specs of machines have changed over the years, all versions of System have basically stayed the same as far as central features and operations. The greatest change was probably the move from mono to colour displays, although serious Mac gurus will no doubt point out other key changes :-) Over the years, Apple have gradually added more and more streamlined and Mac specific features. The early Mac 512k & Mac Plus machines were fairly simple machines but the addition of special hardware such as the Apple bus for input devices (mentioned earlier) meant the machine is definitely one for the serious professional type. So, the Mac has had tight development, progressive hardware, consistent software, what's the down side? Well unfortunately the machine maybe too tightly held by Apple. The System software is totally restricted to the graphic interface and fairly complicated to program properly. This restricts the chance of users getting the programming bug and having a go. No chance of writing a quick CLI or MS-Dos command :-( Also, hardware extras are fairly specific to the Mac and common PC parts rarely work without some adaption. All this has contributed to the Macs high level professional usage but restricted its widespread appeal. Amigas ====== Well, I don't know whether to bother writing anything! Most likely you've already got one and think it's shit-hot B-D Alright, I'll just pick out the important information in relation to the previous machines. The machine was initially developed by a load of wacky designers based in California. Commodore snapped up their company from under Atari's nose when they spotted the potential of the machine. Unfortunately unlike the great engineers, full of neat ideas, the Commodore management never really understood the machine, as we all know :-( Anyway, the key hardware that makes the machine so special is absent from the PC and Mac. Although released with a fairly powerful 68000 running at under 8MHz the real power comes from the custom chips, one area where Commodore's engineers always excelled. The Blitter and graphics co-processor (the Copper) mean that screen handling and updating need little processor work. This is unlike the PC and the Mac where (unless you have lots of money) the CPU does all the work of shifting shit around the screen, time that could be used on running your programmes! The Amiga also has Direct Memory Access hardware (DMAs) where hardware can access memory without processor intervention. This means the floppy drive can load data without stoping other hardware. I think you can see where this is leading... the multitasking software! As the internal and external hardware can operate independently this forms the perfect base for multitasking operations. In fact, when the hardware was finished the designers just ported a small version of Unix (called TriOs) as they couldn't be bothered to write their own O/S! The Intuition based on the multitasking O/S is a fair rip off Mac and X-Window ideas. We're lucky the Amiga turned out as well as it did! There is one other key feature the Amiga had in its initial development: the Commodore 64! Eh, wot am I on? No wait, the early '80 saw the rise of the 8-bit machines and the mid '80s saw the handover to 16-bits. The Amiga (and even the Atari ST) gained users from upgrading 8-bit owners to a much greater extent than the PC or Mac. This user base has "flavoured" the machine to the same extent as the high spending business users have affected the Mac and PC. The Amiga has always multitasked well and the graphics are now only out of date due to the lack of development due to the Grand Commodore Cock Up. One feature the Amiga misses on is Planar versus Bit-Mapped graphics. Planar graphics mean that one byte in memory represents one pixel on screen. Bit-mapped graphics mean one bit in memory affects one pixel on screen, several bit-maps are needed to describe multicolour displays. Without getting too technical planar graphics are well suited to the flash 3-d and texture mapping seen in PC games whereas bit-map graphics are better for 2-d displays: platform games, shoot 'em ups and beat 'em ups. Tech heads may already know that the CD32 has a planar-to-bitmap converter in hardware (or chunky-to-bitmap, as it's also known), hopefully planar graphics will become standard if ESCOM get down to serious hardware development thus meaning serious DOOM games :-D (Fears, Gloom etc all use some crafty coding of the custom chips but only manage very low res display :-( And Finally =========== Some ideas to think about I hope! The main thing to realise is that the PC, Mac and Amiga have had different origins, different development and have different user bases. Arguing relative merits of these machines will stop when hell freezes over. Ease up and chill out! Andy Pandy END ===